#pragma once

// Not used at the current point. It was a pity to just waste this bunch of boilerplate.

#include "Types.h"

namespace TrueText {

enum VerticalAlignment
{
	VA_TOP,
	VA_MIDDLE,
	VA_BOTTOM
};

enum HorizontalAlignment
{
	HA_LEFT,
	HA_CENTER,
	HA_RIGHT
};

class Alignment
{
public:
	Alignment();
	Alignment(Rectangle clipping);

	Alignment(const Alignment& rhs);
	const Alignment& operator=(const Alignment& rhs);

	VerticalAlignment GetVerticalAlignment() const;
	void SetVerticalAlignment(VerticalAlignment value);

	HorizontalAlignment GetHorizontalAlignment() const;
	void SetHorizontalAlignment(HorizontalAlignment value);

	// Clipping region is a required field. TrueText wouldn't render text to a bitmap of unknown dimensions.
	const Rectangle& GetClipping() const;
	void SetClipping(const Rectangle& value);
private:
	VerticalAlignment valign;
	HorizontalAlignment halign;
	Rectangle clipping;
};

}